<?php

	function FilterCookie($str){
   		return checksqlstr($str);
	}

	function reloadLogin()
	{
		/*去掉 asp 自动登陆，有安全原因 各平台可以去reloadLogin函数，然后上线 by Wangsl 2011-7-5 */
		return;
	}

	function clearcookie($mc){
		if (isset($_COOKIE["usercheck"])){
			$user_check = checksqlstr($_COOKIE["usercheck"]);
			$mc->delete("userid".$user_check);
			$mc->delete("username".$user_check);
			$mc->delete("usertype".$user_check);
			$mc->delete("LoginFrom".$user_check);
			$mc->delete("500wan_username".$user_check);
		}
		setcookie("500wan_username","",null,"/",getdomain());
		setcookie("500wan_userps","",null,"/",getdomain());
		setcookie("500wan%5Fusername","",null,"/",getdomain());
		setcookie("500wan%5Fuserps","",null,"/",getdomain());
		setcookie("usercheck","",null,"/",getdomain());
		// 最后登录时间和IP
		setcookie("500wan_lastIP", getIP(), time() + 60 * 60 * 24, '/', getdomain());
		setcookie("500wan_lastTime", date('Y-m-d H:i:s'), time() + 60 * 60 * 24, '/', getdomain());
	}

	function GetUserInfoFromCookie($DirectUrl){
		$sql_str=new oci_str();
		if ($_SESSION["username"]!=""){
			  $_COOKIE["500wan_username"]=base64_encode($_SESSION["username"]);
			  //'============以下判断用户的密码是否写入：如果用户没有密码保存
			  if (strlen(base64_decode($_COOKIE["500wan_userps"]))<1){
			  		$sqlarr=array(
			  			'fields'    => "UI_Lock,UI_TmpPass,UI_UserType,ui_username",
						'table'     => "b_userinfo",
						'condition' => " UI_UserName='".$_SESSION["username"]."'",
			  		);
			  		$result=$sql_str->oci_sql_select($sqlarr,$dbh);
			  		if ($result) $_COOKIE['500wan_userps'] = $result[0][1];
			  }
		}ElseIf (base64_decode($_COOKIE["500wan_username"])>""){
			  $tmpusername=FilterCookie(base64_decode($_COOKIE["500wan_username"]));
			  if ($tmpusername!=""){
				  //'=====重新session
				  $sqlarr=array(
			  			'fields'    => "UI_Lock,UI_TmpPass,UI_UserType,ui_username",
						'table'     => "b_userinfo",
						'condition' => " UI_UserName='".$_SESSION["username"]."'",
			  	  );
				  $result=$sql_str->oci_sql_select($sqlarr,$dbh);
				  if ($result){
				  	if ($result[0][1]==base64_decode($_COOKIE['500wan_userps'])){
				  		//'=======判断本地保存密码是否与相同
				  		$_SESSION['username']=$tmpusername;
				  		$_SESSION['usertype']=$result[0][2];
				  		$_SESSION['pwdt']="";
				  		$_SESSION['LoginFrom']="IndexLogin";	// 登陆成功后直接进入合买区
				  	}else{
				  		$_COOKIE['500wan_userps']="";
				  		$_COOKIE['500wan_username']="";
				  		if ($DirectUrl!="") header("location:/pages/trade/main.php");
				  	}
				  }else{
				  		$_COOKIE['500wan_userps']="";
				  		$_COOKIE['500wan_username']="";
						if ($DirectUrl!="") header("location:/pages/trade/main.php");
				  }

			  }
		}
	}
/*
sub Jmail(email,subject,mailbody)
    '发送邮件
    'email 邮箱地址，subject 邮件主题，mailbody 邮件内容
    '调用示例： call jmail()
	on error resume next
	Dim JMail,SendMail,contentId
	set JMail= Server.CreateObject("JMAIL.Message")
	jmail.silent = true    '屏蔽例外错误，返回FALSE跟TRUE两值j
    jmail.logging = false   '启用邮件日志
    jmail.Charset = "GB2312"     '邮件的文字编码为国标
	JMail.ContentType = "text/html"
	JMail.MailServerUserName="master@500wan.cn"
	jmail.MailServerPassword = "QWERTYUIOP"
	JMail.from="master@500wan.cn"
	JMail.Subject=Subject
	JMail.Body= mailbody
	jmail.AddRecipient email	 '发送邮件
	JMail.Priority=3
	jmail.Send("61.145.118.222:25")
	jmail.close
	set JMail = nothing
end sub
*/
	function checkuserstr($str){
	   	//检测用户注册名
	   	$result="";
		if (strlen($str)== 0 || is_null($str)){
			$result = "";
			return $result;
		}
		//$strfilter="/\$|\(|\)|\*|\+|\-|\.|\[|]|\?|\\|\^|\{|\||}|~|`|!|@|#|%|&|_|=|<|>|/|,|'| |　|\:|林美眉|林MM|林美湄|大鳄浮头|500158|今夜很冷|余超群|小赌怡情|小??怡情|乾坤|易讯|卓越|天下为安/";
		//$strfilter="/\$|\(|\)|\*|\+|\-|\.|\[|]|\?|\\|\^|\{|\||}|\~|\`|\!|\@|\#|\%|\&|\_|\=|\<|\>|\/|\,|\'| |　|\:|林美眉|林MM|林美湄|大鳄浮头|500158|今夜很冷|余超群|小赌怡情|小??怡情|乾坤|易讯|卓越|天下为安/i";
		$strfilter='/\$|\(|\)|\*|\+|\-|\.|\[|\]|\?|\\|\^|\{|\||\}|\~|\`|\!|\@|\#|\%|\&|^esun_.*?$|^_.*?$|\=|\<|\>|\/|\,|\'|\ |\　|\:|林美眉|林MM|林美湄|大鳄浮头|500158|今夜很冷|余超群|小赌怡情|小??怡情|乾坤|易讯|卓越|天下为安|0x|_/i';

		$toustr="/^ddn.*?$|^QQ_.*?$|客服/";  //检查开头字符

		if (!preg_match($strfilter,$str)){
			$regex_pattern="/法[ 　]*轮[ 　]*功|台独|台湾独立|藏独|西藏独立|地震预测/";
			$result=preg_replace($regex_pattern,"",$str);
		}else {
			$result = "";
		}

		if (preg_match($strfilter, $str)) $result = "";

		//$strfilter1 = "/^([A-Z|a-z|0-9]|[\x81-\xfe][\x40-\xfe])+$/"; //输入的数据必须是中文、英文和数字
		//$strfilter1 = "/^[a-zA-Z0-9\u4e00-\u9fa5\_\-]+$/"; //输入的数据必须是中文、英文和数字
		//$strfilter1 = '/^(\x00\w|[\x4e-\x9e].|\x9f[\x00-\xa5])+$/'; //输入的数据必须是中文、英文和数字
		//if (!preg_match($strfilter1,iconv('gb18030', 'ucs-2be', $str)))$result = "";
		//$strfilter1 = "/^[0-9A-Za-z\x80-\xff]+$/";
		$strfilter1 = '/^(\x00\w|[\x4e-\x9e][\x00-\xff]|\x9f[\x00-\xa5]|\x00\xb7)+$/'; //输入的数据必须是中文、英文和数字
		if (!preg_match($strfilter1,iconv('gb18030', 'ucs-2be', $str)))$result = "";

		return $result;
	}
	function checkflg($str){
	    //检测用户输入的内容，先过滤法轮功
	    $regex_pattern="/法[ 　]*轮[ 　]*功|台独|台湾独立|藏独|西藏独立|地震预测/";
	    $result=preg_replace($regex_pattern,"",$str);
	    return $result;
	}

	function checkint($str,$def){
	   //检测输入的是否是整数
	   //str 输入的字符串，def如果str非法则返回的整数
	   $result="";
	   $str = strval(trim($str));
	   if (strlen($str)== 0 || is_null($str)){
	   		$result=$def;
	   		return $result;
	   }

	   if (is_numeric($str))$result=intval($str);
	   else $result=$def;

	   return $result;
	}

	function checknumber($str,$def){
		$result="";
		if (strlen($str)== 0 || is_null($str)){
	       $result = $def;
	       return $result;
		}
	   if (is_numeric($str)){
	       $result=$str;
	   }else{
	       $result=$def;
	   }
	   return $result;
	}

	function checkexpect($lotid,$str){
		$patterns=array();
		$patterns[0]="/^[0-9]{5}$/";
		$patterns[9]="/^[0-9]{6}$/";
		$patterns[29]="/^[0-9]{8}[0-9]{2}$/";
		$patterns[12]="/^[0-9]{8}-[0-9]{2}$/";
		

		$_pattern = isset($patterns[$lotid]) ? $patterns[$lotid]:$patterns[0];

		if (preg_match($_pattern, $str))
			return $str;
		else
			return "";
	}

	function checksqlstr($getstr){
		//检测输入的参数是否含有sql敏感字符，如果有返回过滤后的符串
		$getstr = trim($getstr);
		if (strlen($getstr) == 0 || is_null($getstr)){
			$result="";
			return $result;
		}

		$pattern = "/法(\s|　)*轮(\s|　)*功|胡锦涛|共产党|基督教|毛席东|泽毛东|东毛席|席东毛|毛主席|席毛主|功法轮|轮法功|反日|日本主义者|台独|台湾独立|基督教|李登辉|自焚|江泽明|藏独|西藏独立|地震预测/i";
		$getstr = preg_replace($pattern, "", $getstr);
		
        $pattern = array(
                '/\biframe\b/i',
                '/\bjavascript\b/i',
                '/\bvbscript\b/i',
                '/\bscript\b/i',
                '/\bselect\b/i',
                '/\binsert\b/i',
                '/\bdelete\b/i',
                '/\bupdate\b/i',
                '/\bdrop\b/i',
                '/\bcreate\b/i',
                '/\bexec\b/i',
                '/\btruncate\b/i',
                '/\bdeclare\b/i'    
        );
		$rep = array_fill(0,count($pattern),'');
		$getstr = preg_replace($pattern, $rep, $getstr);

        $s = array(chr(0), '0x', "'",  '<',    '>',    '   ',    "\r\n", "\n");
        $r = array('',     '',   "''", '&lt;', '&gt;', '&nbsp;', '<br>', '<br>');
        $getstr = str_replace($s, $r, $getstr);

		return $getstr;
	}
	/*
	function checksqlstr($getstr){
		//检测输入的参数是否含有sql敏感字符，如果有返回空字符串
		if (strlen($getstr) == 0 || is_null($getstr)){
			$result="";
			return $result;
		}

		$strfilter = "/select|delete|update|drop|create|exec/i";
		$getstr=preg_replace($strfilter,"",$getstr);

		$strfilter = "/iframe|script|javascript|img|<|>/i";
		$getstr=preg_replace($strfilter,"",$getstr);

		//echo $getstr;
		//$strfilter="0x";
		//$getstr=preg_replace($strfilter,"",$getstr);

		$strfilter="/法[\s　]*轮[\s　]*功|台独|台湾独立|藏独|西藏独立|地震预测/";
		$getstr=preg_replace($strfilter,"",$getstr);

		//=========过滤chr(0)
		if ($getstr!=""){
			$getstr=str_replace(chr(0),"",$getstr);
		}
		return $getstr;
	}
	*/
	function getpowervalue($adminname,$pageurl){
	//'获得用户对pageurl的权限值
	//'从数据库取出对应的权限值
	session_start();
	//$adminname=$_SESSION['adminname'];
	$result="";

	if ($adminname =="" or is_null($adminname)){
		header("Location:/b_manage/showerr.php?errmsg=错误：您没有登陆，或者您需要重新登陆&errtype=0");
	}
	if (isset($_SESSION['issuper']) && $_SESSION['issuper']==1){
		$result=255;
		return $result;
	}
	$dbh=Connect_r('conn_busi');

	$strsql = "BEGIN web_getuserpower (:username,:ac_url,:ac_value);END;";
	$stmt=ociparse($dbh,$strsql);

	ocibindbyname($stmt,":username",$adminname);
	ocibindbyname($stmt,":ac_url",$pageurl);
	ocibindbyname($stmt,":ac_value",$ac_value,3);
	ociexecute($stmt);
	$result=$ac_value;
	ocifreestatement($stmt);
	endconn($dbh);
	return $result;
	}

	function checkpower($userpower,$syspower){
      $userpower = cbyte($userpower);
      $syspower=cbyte($syspower);
      return $userpower . $syspower;
	}

	function jstop($strmsg){
	//'显示信息并回退一步
		$html = "<script>alert('" . $strmsg . "');if(history.length==0){window.opener='';window.close();}else{history.go(-1);}</script>";
		echo $html;
		exit();
	}
	function showmsgbox($strmsg,$strurl){
		//显示信息
		$html = "<script>alert('" . $strmsg . "');window.location='".$strurl."'</script>";
		echo $html;
		exit();
	}
	function showmsgbox1($strmsg){
		//'显示信息
		$html = "<script>alert('" . $strmsg . "')</script>";
		echo $html;
		exit();
	}
	function showcontent($strcontent)
	{
	  return preg_replace("/\r?\n/", "<br />", $strcontent);
	}

//'将字符串用指定的字符补齐到指定的长度
	//'fixstring------------需要补齐的字符串
	//'lens-----------------指定需要补齐的到的长度
	//'rightorleft----------左补齐还是右补齐
	//'tempstring-----------用来补齐的字符
	function formatfixuplen($fixstring,$lens,$rightorleft,$tempstring){
		$result=$fixstring;
		if (strlen($fixstring)==$lens){
			$result=$fixstring;
		}elseif (strlen($fixstring)>$lens){
			$result=substr($fixstring,($lens*(-1)));
		}else{
			if ($rightorleft="l"){
				//'fixstring="12"

				for ($i==1;$i<=($lens-strlen($fixstring));$i++){
					$result=$tempstring+$formatfixuplen;
				}
			}else{
				for ($i==1;$i<=($lens-strlen($fixstring));$i++){
					$result=$tempstring+$formatfixuplen;
				}
			}
		}
		return $result;
	}

	function checkstrisnum($str){
		$str2 = $str;
		$result="";
		while (strlen($str2)>0){
			$str1 = substr($str2,1);
			$str2 = substr($str2,(strlen($str2)-1)*(-1));
			if (!is_numeric($str1)){
				$result = false;
				return $result;
			}
		}
		$result = true;
		return $result;
	}

	function alertAndClosewin($msg,$isRefresh){
		//'功能：	弹出提示信息
		//'		刷新父窗口
		//'		关闭窗口
		//'参数：	msg 提示信息
		//'		isRefresh 是否刷新父窗口标志（1 刷新 0 不刷新）
			//endconn_busi();
			echo "<script language='javascript'>alert('$msg');</script>";
			if ($isRefresh=1){
				echo "<script language='javascript'>if(window.parent.dialogArguments!=null) window.parent.dialogArguments.document.execCommand('Refresh');</script>";
			}
			echo "<script language='javascript'>window.close();</script>";
			exit();
	}
	function jsRedirect($strurl){
		//显示信息
		$html = "<script>window.location='".getSafeUrl($strurl)."';</script>";
		echo $html;
		exit();
	}
	//以下得到随机密码
	Function getRndCode($iCount){
		$strCode= "";
		$arrChar = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ=+";
		$k=strlen($arrChar);
		For ($i=1;$i<$iCount;$i++){
			$j=intval(rand(1,$k))+1;
			$strCode.= substr($arrChar,$j,1);
		}
		return $strCode;
	}

    function getdomain(){
        $domain = strtolower(trim($_SERVER['SERVER_NAME']));
		$array_domain = array('youa.500wan.com');
		//zhongyuanhua 20100526 百度有啊合作站直接返回 全域名（目的：限制百度有啊用户到其他站点操作），其它域名返回 500wan顶级域名。
		if(in_array($domain, $array_domain)) {
			return $domain;
		} else {
			return preg_match('/(500wan|boss|5000000)\..*/', $domain, $m) ? $m[0] : $domain;
		}
    }

	//'返回状态信息（以XML的形式）
	function ReturnMessage($Mcode,$Messagestr,$Murl){
		//'=========如果Mcode 为 0，失败 ，1成功
		$strxml="<?xml version=\"1.0\" encoding=\"GB2312\"?>".chr(13).chr(10);
		$strxml.="<xml>".chr(13).chr(10);
		$strxml.="<code>".$Mcode."</code>".chr(13).chr(10);
		$strxml.="<msg><![CDATA[".$Messagestr."]]></msg>".chr(13).chr(10);
		$strxml.="<url><![CDATA[".$Murl."]]></url>".chr(13).chr(10);
		$strxml.="</xml>".chr(13).chr(10);
		echo $strxml;
		exit;
	}

    function getsortnamenew($orderid)
    {
    	switch ($orderid) {
        	case 0: // '没有定义
        		return "id";
        	case 1: // '发起时间
        		return "id";
        	case 2: // '人气指数
        		return "renqi";
        	case 3: // '方案金额
        		return "allmoney";
        	case 4: // '方案份数
        		return "anumber";
        	case 5: // '每份金额大小
        		return "onemoney";
        	case 6: // '方案点击率
        		return "clickstime";
        	case 7: // '战绩
        		return "zhanji";
        	default:
        		return "renqi";
    	}
    }
    //大底获得获得排序字段名 2008-10-28 wobby
    function GetDaDiSortName($orderid)
    {
    	switch ($orderid)
    	{
    		case 0: //没有定义
				return "id"; //按照发起时间
				break;
			case 1:   //发起时间
				return "id";
				break;
			case 2:	 //人气指数
				return "renqi";
				break;
			case 3:	 //方案金额
				return "allmoney";
				break;
			case 4: //方案份数
				return "anumber";
				break;
			case 5:	 //每份金额大小
				return "onemoney";
				break;
			case 6:	 //方案点击率
				return "clickstime";
				break;
			case 7: //战绩
				return "zhanji";
				break;
			case 8:
				return 'mingzhong';
				break;
			default:
				return "renqi";
				break;
    	}
    }

 	function getRequest($sVar,$sRef=NULL)
	{
		if(isset($_REQUEST[$sVar]) && is_array($_REQUEST[$sVar]))
			return checkArrayValue($_REQUEST[$sVar]);
			
		return isset($_REQUEST[$sVar]) ? checksqlstr($_REQUEST[$sVar]) : $sRef;
	}
	function getPost($sVar,$sRef=NULL)
	{
		return isset($_POST[$sVar]) ? checksqlstr($_POST[$sVar]) : $sRef;
	}

	/**
	 * 检测身份证号码是否合法
	 * @author wubingjie
	 * @param mixed $str	待检测字符串
	 * @return bool
	 */
	function checkIDCode( $str )
	{
		if( preg_match('/^[0-9a-zA-Z]{15,18}$/',$str) )
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	/**
	 * 检测手机号码合法性
	 * @author wubingjie
	 * @param mixed $str	待检测字符串
	 * @return bool
	 */
	function checkMobile( $str )
	{
		if( preg_match('/^1\d{10}$/',$str) )
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	/**
	 * 检测电话号码合法性
	 * @author wubingjie
	 * @param mixed $str	待检测字符串
	 * @return bool
	 */
	function checkPhone( $str )
	{
		if( preg_match('/^(?:0\d{2}-|0\d{3}-)?(?:\d{8}|\d{7})(?:-\d{1,5})?$/',$str) )
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	/**
	 * 检测QQ号码合法性
	 * @author wubingjie
	 * @param mixed $str	待检测字符串
	 * @return bool
	 */
	function checkQQ( $str )
	{
		if( preg_match('/^(\d){5,12}$/',$str) )
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	/**
	 * 检测邮政编码合法性
	 * @author wubingjie
	 * @param mixed $str	待检测字符串
	 * @return bool
	 */
	function checkZipCode( $str )
	{
		if( preg_match('/^(\d){6}$/',$str) )
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	/**
	 * 检测电子邮件格式合法性
	 * @author wubingjie
	 * @param mixed $str	待检测字符串
	 * @return bool
	 */
	function checkEmail( $str )
	{
		if( preg_match('/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/',$str) )
		{
			return true;
		}
		else
		{
			return false;
		}
	}


	/**
	 * 检测生日合法性
	 * @author wubingjie
	 * @param mixed $str	待检测字符串
	 * @return bool
	 */
	function checkBirthDay( $str )
	{
		if( preg_match('/^(1|2)\d{3}\-(0|1)*\d-(0|1|2|3)*\d$/',$str) )
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	/**
	 * 检测银行卡号合法性
	 * @author wubingjie
	 * @param mixed $str	待检测字符串
	 * @return bool
	 */
	function checkBankCard( $str )
	{
		if( preg_match('/^\d{6,}$/',$str) )
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	/**
	 * 检测是否为 以,隔开的数字序列, 可以用来判断多选提交的
	 * @author wubingjie
	 * @param mixed $str	待检测字符串
	 * @return bool
	 *
	 */
	function checkMulBoxNum( $str )
	{
		if( preg_match('/^\d+(,\d+)*$/',$str) )
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	/**
	 * 转化为金额格式
	 * @author wubingjie
	 * @param mixed $str	待检测字符串
	 * @param mixed $sep	货币符号
	 * @param mixed $f	小数个数
	 * @return $ret 金额格式的字符串
	 */
	function changeToMoney( $str, $sep="￥",$f=2 )
	{
		$f=(int)$f;
		$str = sprintf("%.".$f."f",$str);
		$arr = explode(".",$str);
		$ret = number_format($arr[0]);
		$ret = $sep.$ret;
		if( $f!=0 ){
			$ret = $ret.".".$arr[1];
		}
		return $ret;
	}

	/**
	 * 数据转化（截断小数点后多少位）
	 * @author liguanxing
	 * @param mixed $str
	 * @param mixed $f
	 * @return $ret
	 */
	function changeNum($v, $f=2)
	{
        // some value for test: 0.4, 32.16, 3.9999
        $ret = sprintf('%.8f', $v);
        $ret = explode('.', $ret);
        if ($f <= 0) {
            return $ret[0];
        } else {
            return $ret[0] . '.' . substr($ret[1], 0, $f);
        }
	}

	/**
	 * 时间比较函数，返回两个日期相差几秒、几分钟、几小时或几天
	 * @author wubingjie
	 * @param mixed $date1
	 * @param mixed $date2
	 * @param mixed $unit
	 * @return string|bool
	 */
	function dateDiff($date1, $date2, $unit = "")
	{
		switch ($unit)
		{
		   case 's':
		    $dividend = 1;
		    break;
		   case 'i':
		    $dividend = 60;
		    break;
		   case 'h':
		    $dividend = 3600;
		    break;
		   case 'd':
		    $dividend = 86400;
		    break;
		   default:
		    $dividend = 86400;
		}
		$time1 = strtotime($date1);
		$time2 = strtotime($date2);
		if ($time1 && $time2)
		{
		   return (float)($time1 - $time2) / $dividend;
		}
		return false;
	}

	/**
	 * 获取IP
	 *
	 * @author wubingjie
	 * @return 真实IP地址
	 */
	function getIP()
	{
	    if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) ) {
	        $ips = preg_split('/,\s*/', trim($_SERVER["HTTP_X_FORWARDED_FOR"]));
			return $ips[0];
	    } elseif ( isset($_SERVER["HTTP_X_REAL_IP"]) ) {
            return $_SERVER["HTTP_X_REAL_IP"];
        }
	    return $_SERVER["REMOTE_ADDR"];
	}

	/**
	 * IP转换为Long
	 *
	 * @author wubingjie
	 * @param string $ip
	 * @return 转换完的ip
	 */
	function ipToLong( $ip )
	{
		$iptolong = 0;
		if(trim($ip)=='')
		{
			$iptolong = 0;
		}

		$arr = explode( '.', $ip );
		if( count($arr)<4 )
		{
			$iptolong = 0;
		}
		else
		{
			$iptolong = 256*256*256*intval($arr[0])+256*256*intval($arr[1])+256*intval($arr[2])+intval($arr[3]);
		}
		return $iptolong;
	}


	/**
	 * 编码转换
	 * @author wubingjie
	 * @param int $str
	 * @return string 返回指定的字符
	 */
	function code2utf($num)
	{
	  if($num<128)return chr($num);
	  if($num<2048)return chr(($num>>6)+192).chr(($num&63)+128);
	  if($num<65536)return chr(($num>>12)+224).chr((($num>>6)&63)+128).chr(($num&63)+128);
	  if($num<2097152)return chr(($num>>18)+240).chr((($num>>12)&63)+128).chr((($num>>6)&63)+128) .chr(($num&63)+128);
	  return '';
	}

	/**
	 * 解释JS escape 字符串
	 * @author wubingjie
	 * @param string $str
	 * @return string unescape字符串
	 */
	function unescape( $str )
	{
		$decodedStr = '';
		$pos = 0;
		$len = strlen ($str);
		while ($pos < $len)
		{
			$charAt = substr ($str, $pos, 1);
			if ($charAt == '%')
			{
				$pos++;
				$charAt = substr ($str, $pos, 1);
				if ($charAt == 'u')
				{
					//unicode character
					$pos++;
					$unicodeHexVal = substr ($str, $pos, 4);
					$unicode = hexdec ($unicodeHexVal);
					$decodedStr .= iconv("UTF-8", 'gb18030', code2utf($unicode));
					$pos += 4;
				}
				else
				{
					//escaped ascii character
					$hexVal = substr ($str, $pos, 2);
					$decodedStr .= chr (hexdec ($hexVal));
					$pos += 2;
				}
			}
			else
			{
				$decodedStr .= $charAt;
				$pos++;
			}
		}

		return $decodedStr;
	}


	/**
	 * 小数部分第三位进1,小数部分结果为两位
	 * @author wubingjie
	 *
	 */
	function formatNum( $num )
	{
		if( preg_match('/(\d+)\.((?:\d){2})(\d+)/',strval($num),$arr))
		{
			if( floatval("0.00".$arr[3] )>0 )
			{
				$num = floatval($arr[1].".".$arr[2])+0.01;
			}
		}

		return sprintf("%0.2f",floatval($num));

	}


	/**
         * 转换为安全输入参数
         * @author wubingjie
         * @param string $str 字符串
	 * @return string 安全的参数
         */
	function tranInject( $str )
	{
		$ret = '';
        	if( isset( $str ) && strlen( $str )>0 ){

			//转义单引号、双引号、反斜线、NULL
        	       	if (!get_magic_quotes_gpc()){
				$str = addslashes($str);
			}

			//敏感字符列表
			$arrPatterns = array('/\bupdate\b/','/\bdelete\b/',
			'/\bselect\b/','/\binsert\b/','/\bdrop\b/','/\bcreate\b/',
			'/\bexec\b/','/法[ 　]*轮[ 　]*功|台独|台湾独立|藏独|西藏独立|地震预测/',
			'/\-\-/','/#/','/\/\*/','/%/','/_/');

			//转化为安全字符
			$arrReplaces = array('ｕｐｄａｔｅ','ｄｅｌｅｔｅ','ｓｅｌｅｃｔ',
			'ｉｎｓｅｒｔ','ｄｒｏｐ','ｃｒｅａｔｅ','ｅｘｅｃ','','－－','＃',
			'／＊','％','—');

			//

			$ret = preg_replace($arrPatterns, $arrReplaces, $str);
		}

		return $ret;
	}
	/**
	 * 纪录cookies
	 * @author wujian
	 * @param string $ck_id	检测标识码
	 * @param string $user	用户名
	 * @param string $tmppass	用户临时密码
	 * @param string $web_type	用户站点类型
	 * @param string $remote_host	访问者ip
	 */
	function set_LoginCookie($ck_id,$user,$tmppass,$web_type,$remote_host,$lasttime=""){
		$domain="";
		$domain = getdomain();
		if ($lasttime == "") $lasttime = date("Y-m-d H:i:s");
		setcookie("500wan%5Fusername",base64_encode($user),null,'/',$domain);	//用户名
		setcookie("500wan%5Fuserps",base64_encode(md5($tmppass)),null,'/',$domain);	//用户临时密码
		setcookie("usercheck",$ck_id,null,'/',$domain);	//检测码
		setcookie("ul",$web_type."1",null,'/',$domain);		//站点标识
		setcookie("500wanuser",base64_encode($user),null,'/',$domain);	//用户名
		setcookie("500wan%5FlastTime",$lasttime,null,'/',$domain);	//用户登录时间
		setcookie("500wan%5FlastIP",$remote_host,null,'/',$domain);		//用户登录IP
	}

	function OFile($url,$postfield,$referer="",$ip=''){
	 		if ($referer=="")$referer=$url;
			$ch = curl_init();
			curl_setopt($ch, CURLOPT_URL, $url); //设置请求的URL
			curl_setopt($ch, CURLOPT_POST, 1);//启用POST提交
    		curl_setopt($ch, CURLOPT_POSTFIELDS, $postfield); //设置POST提交的字符串
            if($ip != '')
            {
			    curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR: '.$ip));
            }
            curl_setopt($ch, CURLOPT_HEADER, 0);
			curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
			curl_setopt($ch,CURLOPT_TIMEOUT,30);  //数据超时
			curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2); //连接超时
			curl_setopt($ch,CURLOPT_REFERER,$referer);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
			$content=curl_exec($ch);
			$info=curl_getinfo($ch);
			var_dump($content);
			curl_close($ch);
			return $content;
	}

	/**
	 * 输入ID，获得发卡银行名称
	 * @author 钟远华
	 * @param string $type	银行类型ID
	 * @return string 发卡银行名称
	 */
	function GetBankNameById($type) {
		if($type=="0") {
			return "招商银行";
		} elseif ($type=="2") {
			return "工商银行";
		} elseif ($type=="3") {
			return "建设银行";
		} else {
			return "其它";
		}
	}

	/**
	 * 输入ID，获得银行卡发卡地区
	 * @author 钟远华
	 * @param string $type	银行类型ID
	 * @return string 银行卡发卡地区
	 */
	function GetBankZoneById($type) {
		if($type=="0") {
			return "深圳本地";
		} else {
			return "其它";
		}
	}

	/**
	 * 页面去缓存
	 * @author 钟远华
	 */
	function noCache() {
		header('Expires: Thu, 01 Jan 1970 00:00:01 GMT');
		header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
		header('Cache-Control: no-cache, must-revalidate, max-age=0');
		header('Pragma: no-cache');
	}
	/**
	 * 域名检测
	 * @author zhongyuanhua
	 * @param string $url
	 * @return string 传入网址，如果域名不允许，返回空字符串，否则返回原网址
	 */
    function checkUrl($url) {
    	//控制传入地址的域名
    	$strUrl = $url;
		//ereg('http://[^.]*\.[^.]+\.[^/]+', $url, $r);
                preg_match('/http:\/\/[^\.]*\.[^\.]+\.[^\/]+/', $url, $r);
		$arr_domain_allow = array(
			"",
			"http://trade.boss.com",
			"http://ntrade.boss.com",
			"http://ntrade2.boss.com",
			"http://passport.boss.com",
			"http://speed.boss.com",
			"http://game.boss.com",
			"http://space.boss.com",
			"http://game.500wan.com",
			"http://space.500wan.com",
			"http://www.500wan.com",
			"http://news.500wan.com",
			"http://trade.500wan.com",
			"http://trade2.500wan.com",
			"http://passport.500wan.com",
			"http://passport2.500wan.com",
			"http://speed.500wan.com",
			"http://newtrade.500wan.com",
			);
		if(!in_array($r[0],$arr_domain_allow)) {
			$strUrl = "";
		}
		return $strUrl;
    }

	/**
     * 检测是否为中文
     *
     * 允许中间带一个中文点的少数民族人名 阿凡提·小毛驴
     * @author ywx
     * @param string $str 要检测的字符串
     * @return boolean
     */
    function checkxingming($str)
	{
		//if (preg_match("/^[\x40-\xff]+$/", $str))  //兼容gb2312,utf-8
		if (preg_match("/^[\x40-\xff]+[\x40-\xff\.]*[\x40-\xff]+$/", $str))//yeqh 2010-6-29 允许“.”符号
		{
			/**
			//因为与太多的中文编码重复,所以去掉此检测
			$zwbd = '　|，|。|／|？|《|》|；|：|‘|“|】|｝|【|｛|、|｜|＝|＋|－|——|—|—|）|（|×|＆|…|……|％|￥|＃|＠';
			$arr_bd = explode('|', $zwbd);
			foreach ($arr_bd as $v)
			{
				if(@strpos($str, $v))
				{
					//有中文标点符号，及英文字母数字
					//echo '有标点';
					return false;
				}
			}
			/**/
            /*if(preg_match("/\w+/", $str))
            {
                return false;
            }*/
			if(preg_match("/.*·$/", $str) || preg_match("/^·.*/", $str))
			{
				//那个小点点·,在字符串的两头
				//echo '小点点位置不对';
		    	return false;
			}
			//$arr_t = explode('·', $str);
			//if(count($arr_t) > 3)
			if(mb_substr_count ($str,'·','GBK') > 3)
			{
				//不能有>3个小点点·
				//echo '小点点太多';
				return false;
			}
			if(strlen($str) > 40)
			{
				//您的名字太长了,浪费空间
				//echo '名字太长';
				return false;
			}
		} else {
			//太离谱了,公安局不会允许您这样的名字存在
			//不合规矩
		    return false;
		}
		return true;
	}

    /**
     * 检测日期合法性
     *
     * @param string $adate 日期
     * @return True/False
     */
    function isValidDate($adate){
		$validDate = explode("-",$adate);
		return is_array($validDate) && isset($validDate['0']) && isset($validDate['1']) && isset($validDate['2']) && checkdate($validDate['1'],$validDate['2'],$validDate['0']);
    }

	//手机号码部分加*隐藏 by yeqh 2010-5-12
	function getMaskMobile($mobile){
		return $mobile ? substr($mobile,0,3).'****'.substr($mobile,7) : '';
	}

	//邮件地址部分加*隐藏 by yeqh 2010-5-12
	function getMaskEmail($email){
		return $email ? substr($email,0,3).'****'.substr($email,strpos($email,'@')) : '';
	}

	//银行账号部分加*隐藏 by yeqh 2010-5-12
	function getMaskCard($cardnumber){
		return $cardnumber ? substr($cardnumber,0,-6).'******': '';
	}

	//获取用户绑定的手机、邮箱等信息 by yeqh 2010-5-12
	function getUserSafeInfoByName($username){
		$userinfo = User_User::getUserAllInfo($username);
		$mobile = User_User::getMobileByUsername($username);
		if($mobile){
			$mobileBind = 1;
		}else{
			$mobile = $userinfo[0]['UI_MOBILE'];
			$mobileBind = 0;
		}

		$emlInfo = User_SNS::getBindEmail($username);
		if($emlInfo){
			$email = $emlInfo[0]['F_EMAIL'];
			$emailBind = 1;
		}else{
			$email = $userinfo[0]['UI_EMAIL'];
			$emailBind = 0;
		}
		$info = compact('mobile','mobileBind','email','emailBind');
		return $info;
	}

	//用户是否可以修改真实姓名、身份证、银行卡类型 by yeqh 2010-5-26
	function canModTnameIdnoCard($username){
		$userInfo = User_User::getUserExpInfo($username);
		if($userInfo[0]['UI_CAROFBANK']==6 || $userInfo[0]['UI_CAROFBANK']==10){//财付通&&支付宝
			return false;
		}else{
			return true;
		}
	}

/** 
 +———————————————————- 
 * 字符串截取，支持中文和其他编码 
 +———————————————————- 
 * @static 
 * @access public 
 +———————————————————- 
 * @param string $str 需要转换的字符串 
 * @param string $start 开始位置 
 * @param string $length 截取长度 
 * @param string $charset 编码格式 
 * @param string $suffix 截断显示字符 
 +———————————————————- 
 * @return string 
 * @author huangzy@51094.com
 +———————————————————- 
 */
    function msubstr($str, $start=0, $length, $charset='utf-8', $suffix=true){ 
        if(function_exists('mb_substr')) 
            return mb_substr($str, $start, $length, $charset); 
        elseif(function_exists('iconv_substr')) { 
            return iconv_substr($str,$start,$length,$charset); 
        } 
        $re['utf-8']   = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/"; 
        $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/"; 
        $re['gbk']    = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/"; 
        $re['big5']   = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/"; 
        preg_match_all($re[$charset], $str, $match); 
        $slice = join('',array_slice($match[0], $start, $length)); 
        if($suffix) return $slice."……"; 
        return $slice; 
    } 

	//用户密码保护问题题目
	function pwdQuestionArr ()
	{
		$pwdQueArr = array("我的宠物名字？","我最好的朋友是谁？","我最喜爱的颜色？","我最喜爱的电影？","我最喜爱的影星？","我最喜爱的歌曲？",
"我最喜爱的食物？","我最大的爱好？","我中学校名全称是什么？","我的座右铭是？","我最喜欢的小说的名字？","我最喜欢的卡通人物名字？","我母亲/父亲的生日？","我最欣赏的一位名人的名字？","我最喜欢的运动队全称？",
"我最喜欢的一句影视台词？","我的小名或者外号？","我最亲密的朋友是？","我最喜欢的颜色？","我最喜欢的演员？","我经常买的彩票彩种？","我最喜欢的球星？","我最喜欢的球队？","我最喜欢吃的菜？","我喜欢的人的生日？","我崇拜的人？","我读的中学学校的全称是？",
		"我的幸运数字？"
		);
		return $pwdQueArr;
	}

	 /**
	 * 中文截取函数
	 * @author yuweixian
	 * @param string $str    要处理的字符串
	 * @param intval $start  开始截取位置
	 * @param intval $length 截取长度
	 * @param string $charset   字符编码
	 * @param string $suf   截取后显示的内容
	 * @param bool   $ench  英文截取是否变为中文字数的两倍
	 */
	function substr_string($str, $start=0, $length, $charset="gb2312", $suf='...', $ench=false)
	{
		$en = false;
		if(preg_match("/^\w+$/", $str))
		{
		    $en = true;
		}
		if($en && $ench)
		{
		    $length *= 2;
		}
		$len = $length;
		if(function_exists("mb_substr"))
		{
		    $en && ($len = $length * 0.5);
		    if(mb_strlen($str) > $len*2)
		    {
		        return mb_substr($str, $start, $length, $charset).$suf;
		    }else
		    {
		        return $str.$suf;
		    }
		}
		elseif(function_exists('iconv_substr'))
		{
		    $en && ($len = $length * 0.5);
		    if(iconv_strlen($str) > $len*2)
		    {
			      return iconv_substr($str,$start,$length,$charset).$suf;
		    }else
		    {
		    	return $str.$suf;
		    }
		}
		$re['utf-8']   = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
		$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
		$re['gbk']	  = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
		$re['big5']	  = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
		preg_match_all($re[$charset], $str, $match);
		$slice = join("",array_slice($match[0], $start, $length));
		return $slice.$suf;
	}

/**
 *过滤所谓的Domxss提交*
 */
 function checkDomxss($str)
{
	$str = htmlspecialchars($str, ENT_QUOTES);
	return $str;
}


	/****函数功能：判断密码的强弱
	* @author wuchupeng
	关联函数corpsesPwd($password)
	说明  返回值  规则
	很弱  1  	少于6位数的任何组合
	弱    2		6-8位数以内的纯数字或字母（纯大写或纯小写）
	中    3		超过8-11位数的纯数字或字母（纯大写或纯小写） / 超过6-9位数的任意两种混搭（数字/大写/小写/符号）
	强    4		超过11位数的纯数字或字母（纯大写或纯小写） / 超过9位数的任意两种混搭（数字/大写/小写/符号）
	很强  5		超过10位数的任意三种混搭（数字/大写/小写/符号）
	*/
	//检查密码等级
	function checkPwdLevel ($password)
	{
		//密码为空，返回flase
		if (!$password) return 0; //未开通密码保护
		//判断密码中是否有数字
		$maths = preg_match("/([0-9]+)/", $password);
		//判断密码中是否有大写
		$bigs = preg_match("/([A-Z]+)/", $password);
		//判断密码中是否有小写
		$smalls = preg_match("/([a-z]+)/", $password);
		//判断密码中是否有特殊字符
		$corps = corpsesPwd ($password);
		//计算密码中有多少种组合
		$num = $maths + $smalls + $bigs + $corps;
		//获取密码长度
		$pwdLeng = strlen($password);
		//很弱  	少于6位数的任何组合
		if($pwdLeng<6) return 1;

		if($pwdLeng >=6 && $pwdLeng <=8)
		{
	        if($num == 1)return  1;
		    if($num == 2 || $num == 3)return  2;
		    if($num == 4)return  3;
		}

		if($pwdLeng >8 && $pwdLeng <= 11)
		{
	        if($num ==1) return  2;
			if($num == 2) return  3;
			if($num == 3) return  4;
			if($num == 4) return  5;
		}

		if($pwdLeng > 11)
		{
		    if($num ==1) return  3;
			if($num ==2) return  4;
			if($num >2) return  5;
		}
  	}


	//判断密码是否有特殊字符
	//* @author wuchupeng
	/*function corpsesPwd ($password)
	{
		$pwdLeng = strlen($password);
		for($i=0;$i<$pwdLeng;$i++)
		{
			$pwdStr = substr($password,$i,1);
			$maths = preg_match("/([0-9]+)/", $pwdStr);
			$bigs = preg_match("/([A-Z]+)/", $pwdStr);
			$smalls = preg_match("/([a-z]+)/", $pwdStr);
			if(!$maths && !$smalls && !$bigs){return  1;}
		}
		return 0;
	}*/

	//rewrite by yeqh 2010-5-17
	function corpsesPwd($password){
		return !preg_match('/^[A-Za-z0-9]+$/',$password);
	}

	//无线手机渠道ID zhangz 2010-9-25 (5 wap500wan 28 财付通合作 32 手机客户端 34 3GQQ合作 37 短信购彩 38 天涯wap合作)
	function wapId_Arr(){
		$wapIdArr = array(5,28,32,34,37,38,46);
		return $wapIdArr;
	}


	/**此函数用于判断是否是返利网的域名，是的话跳转到对应的登陆框 
	 * type: 1 loginarr		首页登陆
	 *	     2 loginarr_lot 二级页面登陆
	 *		 3 loginarr_all 单独页面登陆,带上回调参数
	 *		 4 zhuce		注册页
	**/
	function goRedirect($type,$servername,$tourl=''){
		$loginarr=array(
			'wissip.hezuo.boss.com'=>'/pages/login/ws_login.php', //维赛网线下合作站点	
			'wissip.hezuo.500wan.com'=>'/pages/login/ws_login.php', //维赛网预发布和线上合作站点
			'shengpay.hezuo.boss.com'=>'/pages/login/shengpay_login.php', //盛付通线下合作站点	
			'shengpay.hezuo.500wan.com'=>'/pages/login/shengpay_login.php', //盛付通预发布和线上合作站点
			'qqfanli.hezuo.boss.com'=>'/pages/login/fanli_login.php',
			'qqfanli.hezuo.500wan.com'=>'/pages/login/fanli_login.php',	
			'baina.hezuo.boss.com'=>'/pages/login/baina_login.php',
			'baina.hezuo.500wan.com'=>'/pages/login/baina_login.php',
			'renren.boss.com'=>'/pages/login/renren_login.php', //人人网
			'renren.500wan.com'=>'/pages/login/renren_login.php',//人人网
		);
		$loginarr_lot=array(
			'wissip.hezuo.boss.com'=>'/pages/login/ws_login.php', //维赛网线下合作站点	
			'wissip.hezuo.500wan.com'=>'/pages/login/ws_login.php', //维赛网预发布和线上合作站点
			'shengpay.hezuo.boss.com'=>'/pages/login/shengpay_login.php', //盛付通线下合作站点	
			'shengpay.hezuo.500wan.com'=>'/pages/login/shengpay_login.php', //盛付通预发布和线上合作站点
			'qqfanli.hezuo.boss.com'=>'/pages/login/fanli_login.php',
			'qqfanli.hezuo.500wan.com'=>'/pages/login/fanli_login.php',
			'baina.hezuo.boss.com'=>'/pages/login/baina_login.php',
			'baina.hezuo.500wan.com'=>'/pages/login/baina_login.php',	
			'renren.boss.com'=>'/pages/login/renren_login.php', //人人网
			'renren.500wan.com'=>'/pages/login/renren_login.php',//人人网
		);
		$loginarr_all=array(
			'wissip.hezuo.boss.com'=>'/pages/login/ws_publicLogin.php', //维赛网线下合作站点	
			'wissip.hezuo.500wan.com'=>'/pages/login/ws_publicLogin.php', //维赛网预发布和线上合作站点
			'shengpay.hezuo.boss.com'=>'/pages/login/shengpay_publicLogin.php', //盛付通线下合作站点	
			'shengpay.hezuo.500wan.com'=>'/pages/login/shengpay_publicLogin.php', //盛付通预发布和线上合作站点
			'qqfanli.hezuo.boss.com'=>'/pages/login/fanli_publicLogin.php',
			'qqfanli.hezuo.500wan.com'=>'/pages/login/fanli_publicLogin.php',
			'baina.hezuo.boss.com'=>'/user/baina/baina_login.php',
			'baina.hezuo.500wan.com'=>'/user/baina/baina_login.php',
			'renren.boss.com'=>'/pages/login/renren_publicLogin.php', //人人网
			'renren.500wan.com'=>'/pages/login/renren_publicLogin.php',//人人网
		);
		$zhuce=array(
			'wissip.hezuo.boss.com'=>'/user/wissipreg/',  //维赛网合作注册页面
			'wissip.hezuo.500wan.com'=>'/user/wissipreg/',  //维赛网合作注册页面
			'shengpay.hezuo.boss.com'=>'/user/shengpay/',  //盛付通合作注册页面
			'shengpay.hezuo.500wan.com'=>'/user/shengpay/',  //盛付通合作注册页面
			'qqfanli.hezuo.boss.com'=>'/user/qqfanlireg/',
			'qqfanli.hezuo.500wan.com'=>'/user/qqfanlireg/',
		);
		if(isset($servername)&&$servername){
				switch ($type){
					case 1:
						$goUrl=isset($loginarr[$servername])?$loginarr[$servername]:'';
						break;
					case 2:
						$goUrl=isset($loginarr_lot[$servername])?$loginarr_lot[$servername]:'';
						break;
					case 3:
						$goUrl=isset($loginarr_all[$servername])?$loginarr_all[$servername].$tourl:'';
						break;
					case 4:
						$goUrl=isset($zhuce[$servername])?$zhuce[$servername]:'';
						break;
					default:
						$goUrl='';
				}
				if($goUrl){ header("location:".$goUrl);exit();}
		}
		return false;
	}

	function clearAllCookie(){
		setcookie("500wanregfrom",'',null,"/",getdomain(),null);
		setcookie("500wanregchanel",'',null,"/",getdomain(),null);
		setcookie("500wanRegFromUrl",'',null,"/",getdomain(),null);
		setcookie("500wanRegUrl",'',null,"/",getdomain(),null);
		setcookie("500wanNextfrom",'',null,"/",getdomain(),null);
	}
	
	
	/*	此函数用于通用合作站注册页取得用户唯一id
	 *  由于cookie的不安全性，拥有一个鉴证过程
	 * 	得到一个唯一的acct
	 * 	验证原则 md5( base64_decode($acct) . 'xxxx' ) = $key 
	 *  加密原则 md5(($acct).'zhuce_cookie_check_!@#$') = $key  --注意 $acct不是明文，需要base64_encode一下
	 * 	zhuce_cookie_check_!@#$   --publicKey
	 */
	function getAcct(){
		return 
		(isset($_COOKIE['acct'])
		&&isset($_COOKIE['key'])
		&&(md5(base64_decode($_COOKIE['acct'])
		.'zhuce_cookie_check_!@#$')
		===$_COOKIE['key']))
		?checksqlstr(base64_decode($_COOKIE['acct'])):false ;
	}
	
	/*用以check跳转url地址的,checkArg可以扩展*/
	function checkToUrl($url){
		$checkArg=array('500wan','/pages/trade/','/huodong/');
		$regStr=implode('|',$checkArg);
		$regStr=str_replace('/','\/',$regStr);
		$regStr="/".$regStr."/";
		if(!preg_match($regStr,$url)){
			return false;
		}
		return $url;
	}
	
    function showMoney($money,$showLen=2){
        $money_arr=explode('.', $money);
        if(!isset($money_arr[0])||$money_arr[0]=="")
            $money_arr[0]='0';
        
        if(isset($money_arr[1]))
            $money_arr[1].='00000';
        else
            $money_arr[1]='00000';

        $money_arr[1]=substr($money_arr[1], 0,$showLen);

        return $money_arr[0].'.'.$money_arr[1];
    }
    
    /*是否是AJAX请求*/
    function isAjax()
	{
		return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && 
		strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == "xmlhttprequest";
	}
	
	/**
	 * 对参数、表单生成hash，用于校验多个参数，防抓防盗防遍历。
	 * @author yeqiaohui
	 * @param array $param
	 * @return string
	 */
	function getFormHash($param){
		$salt = '500WAN(*)Security';
		return substr(md5($salt.serialize($param).substr(time(), 0, -5)),14,7);
	}

	function getmicrotime()    
	{    
		list($usec, $sec) = explode(" ",microtime());    
		return ((float)$usec + (float)$sec);    
	}   
	/**
	 * 页面执行时间跟踪 
	 * @param mixed $tag 页面跟踪标签,会输出在页面	
	 * @return no
	 */
	function trace_stat_time($tag,$time_start=0)
	{   
		static $trace_time_start;
		static $access_id;
		if (!$trace_time_start)
		{   
			$trace_time_start = getmicrotime();
			$access_id = time().rand(1000,9999);
		}   
	
	
		//测试代码运行时间
		$time_end = getmicrotime();
		$exec_time = ($time_end - $trace_time_start)*1000;
		printf ("<!--[$tag: %.2f毫秒]-->",$exec_time);
	
		$ext_msg=array("time"=>$exec_time,"source"=>"Trace/".$_SERVER['HTTP_HOST'],"uri" => $_SERVER['REQUEST_URI']);
		if (isset($_SERVER['HTTP_X_SERVER_ADDR'])) {
			$ext_msg['source'] .= '/' . $_SERVER['HTTP_X_SERVER_ADDR'];
		}   
		$ext_msg['aid'] = $access_id;
		Others_MsgProxy::sendmsg("TIME_TRACE",$tag,Zend_Json_Encoder::encode($ext_msg));
		$trace_time_start = $time_end;
	}   
	/**
	 *得到安装的url 地址，本代码主要是限定域名 过滤url参数*
	 *
	 * @param string $url url地址 非空
	 * @param string $checkdomain 0不返回域名 1站内域名验证 域名：验证域名必须满足给予的域名
	 * @param string $def 如果不满足返回的默认地址
	 * @return string 返回地址
	 */
	function getSafeUrl($url,$domain='0',$def='/')
	{
		if(!isset($url)) return $def; ///如果地址为空 返回$def
		$basereg='/(ntrade|ntrade2|trade|passport|speed|game|space|www|news|trade2|passport2|tenpay|paipai|youa|tianya|ylinfo)\.(500wan|boss)\.(com|cn)/i';
	
		$arrUrl=parse_url($url);
	
		if(strlen($domain)>1)  ///如果限定必须输入域名
		{
			if(!isset($arrUrl['host']) || strpos(strtoupper($domain),strtoupper($arrUrl['host']))===false)
			return $def;
		}
	
		if($domain=='1') ////如果限定域名
		{
			$host = !isset($arrUrl['host'])?getdomain():$arrUrl['host'];
			if(!preg_match($basereg,$host)) return $def;
		}
	
		///其它所有情况，进行过滤
		$scheme=isset($arrUrl['scheme'])?$arrUrl['scheme']."://":'';
		$host = !isset($arrUrl['host'])?'':$arrUrl['host'];
	
		$path = isset($arrUrl['path'])?htmlspecialchars($arrUrl['path']):'';
		$query = isset($arrUrl['query'])?$arrUrl['query']:'';
	
		///以下解析$query 进行过滤
		if(!empty($query))
		{
			parse_str($query,$arrpara);
	
			foreach ($arrpara as $k=>$v)
			{
				$arrpara[addslashes($k)]=htmlspecialchars(addslashes($v));
			}
	
			$query=http_build_query($arrpara);
		}
	
		$query=empty($query)?'':'?'.$query;
		return $domain=='0'?$path.$query:$scheme.$host.$path.$query;
	}
	
	/**检测输入的参数是否含有xss敏感字符，如果有返回过滤后的符串
	 * @param string $getstr 要过滤的参数
	 * @param string $repstr 扩展参数
	 */
	function clearxss($getstr,$repstr=''){
		if (strlen($getstr) == 0 || is_null($getstr)){
			return $getstr;
		}
		$pattern = array(
                '/\bstyle\b/i',
                '/\bexpression\b/i',
                '/\bon\w{4,30}\s*=/i'  
        );
		$rep = array_fill(0,count($pattern),'');
		$getstr = preg_replace($pattern, $rep, $getstr);
        $getstr = strip_tags($getstr);
		return $getstr;
	}
	
	/**
	 * 检测数组参数
	 *
	 * @param unknown_type $array_val
	 * @return unknown
	 */
	function checkArrayValue($array_val)
	{
		$tmp=array();
		if(!is_array($array_val) || count($array_val)==0)
			return $array_val;
		foreach($array_val as $k=>$v)
		{
			$tmp[$k]=checksqlstr($v);
		}
		return $tmp;
	}
	
	// 浏览器友好的变量输出
function dump($var, $echo=true, $label=null, $strict=true) {
    $label = ($label === null) ? '' : rtrim($label) . ' ';
    if (!$strict) {
        if (ini_get('html_errors')) {
            $output = print_r($var, true);
            $output = "<pre>" . $label . htmlspecialchars($output, ENT_QUOTES) . "</pre>";
        } else {
            $output = $label . print_r($var, true);
        }
    } else {
        ob_start();
        var_dump($var);
        $output = ob_get_clean();
        if (!extension_loaded('xdebug')) {
            $output = preg_replace("/\]\=\>\n(\s+)/m", "] => ", $output);
            $output = '<pre>' . $label . htmlspecialchars($output, ENT_QUOTES) . '</pre>';
        }
    }
    if ($echo) {
        echo($output);
        return null;
    }else
        return $output;
}
function sy2dy($con){

//	$con = preg_replace("/<p>|<\/p>|<br \/>|<br>/i","",$con);
	
	$con = str_replace("\"","'",$con);
	
	return $con;
}
	/*
	 *  函数名：uploadFlie()
	 *  作     用：处理文件上传
	 *  返回值：成功：返回新文件名称 ;  失败：返回false
	 *  参     数：
	 *    @ $fileName ：字符  从表单中提交过来的File类型的表单名称
	 *    @ $storePath：字符  文件存储的最终位置
	 *    @ $fileType ：数组  文件上传的类型限制
	 *    @ $maxSize	：数字  文件上传的最大尺寸,默认最大为1024K
	 *  创建日期：2011-09-05
	 *  创建人:黄志勇
	 */
	function uploadFlie($fileName,$storePath,$fileType=array('jpg','jpeg'),$maxSize=1024){
		$fileinfo = $_FILES[$fileName];
		if($fileinfo['error']==4)return false; //文件不存在时返回
		$type = explode('/',$fileinfo['type']);
		if($type[0] == 'image'){
			$photoinfo = getimagesize($fileinfo['tmp_name']);
			$photo_width = $photoinfo[3]['width'];
			$photo_height = $photoinfo[3]['height'];
			if($photo_width > $photo_height){
				jstop('照片的尺寸为200*250，大小为'.$maxSize.'Kb');
			}
		}
		if ($fileinfo['error']>0){
			$error = '';
			switch ($fileinfo['error']){
				case 1:$error = "上传文件太大，不予上传!";break;//上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值
				case 2:$error = "上传文件太大，不予上传!";break;//上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值
				case 3:$error = "文件上传不完整，请再试一次!";break;//文件只有部分被上传
				case 4:$error = "上传文件不能为空";break;//没有文件被上传
				default:$error = "系统繁忙，请稍后再试!";
			}
			jstop($error);
		}
		if(!in_array(trim($type[1]),$fileType)){
			$str = '';
			foreach ($fileType as $v){
				$str .= $v.',';
			}
			$str = trim($str,',');
			jstop("上传的文件类型必须为".$str);
		}
		if($fileinfo['size'] == 0){
			jstop('上传文件大小不能为0，请重试!');
		}
		if($fileinfo['size'] > $maxSize*1024){
			jstop('上传的文件最大为 '.$maxSize.'Kb，请减小文件的大小后重试!');
		}
		return move_uploaded_file($fileinfo['tmp_name'],$storePath);
	}

	
	